<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <title>Document</title>
  <style>
    #app {
      width: 100%;
      margin: 50px auto;
      text-align: center;
    }

    .title {
      color: #333;
    }

    img {
      height: 500px;
      box-shadow: 0 0 20px #ccc;
    }

    button {
      margin: 20px 5px 0;
      border-radius: 3px;
      cursor: pointer;
      border: none;
      padding: 5px 10px;
    }

    button:hover {
      color: green;
    }
  </style>
</head>

<body>
  <!-- 模板 -->
  <div id="app">
    <h2 class="title">图片循环切换</h2>
    <!-- 显示图片 -->
    <img :src="imgArr[index]" alt="" />
    <p>
      <!-- 点击上一张按钮，显示上一张图片，如果是第一张则显示最后一张 -->
      <button @click="prev">上一张</button>
      <!-- 点击下一张按钮，显示下一张图片，如果是最后一张则显示第一张 -->
      <button @click="next">下一张</button>
    </p>
  </div>
</body>
<script src="./js/vue.js"></script>
<script>
  new Vue({
    el: "#app",
    data: {
      // 用来显示 图片的 src 属性
      // imgSrc: "./img/2.jpg",
      // 我们可以直接使用 索引来找到图片
      index: 1,
      // 用来保存我们需要展示的所有图片，如果真实开发，我们多张图片一般都是通过网络请求的
      imgArr: [
        "./img/1.jpg",
        "./img/2.jpg",
        "./img/3.jpg",
        "./img/4.jpg",
        "./img/5.jpg",
      ]
    },
    methods: {
      // 向上显示图片
      prev(){
        if(this.index<=0){
          // 注意： 数组的长度比下标索引是要大一位的
          this.index = this.imgArr.length-1
        }else{
          this.index--
        }
      },
      // 向下显示图片
      next(){
        if(this.index >= this.imgArr.length-1){
          this.index = 0
        }else{
          this.index++
        }
        
      }
    },
  })
</script>

</html>